1. Field of the Invention
The present invention relates to a method of and an apparatus for detecting and correcting errors, and in particular to a method of and an apparatus for detecting and correcting errors suitable for a memory including memory elements each constituted of a plurality of bits.
2. Description of the Related Art
With increase in the memory capacity of memory elements, there has been increasingly required a b-bit memory element achieving b-bit-at-a-time input and output operations. In this specification, the b-bit block is called a byte. Conventional error detecting and correcting methods applicable to a memory configured with such b-bit memory elements include, for example, 1 a method adopting single bit error correction--double bit error detection--single b-bit byte error detection (SEC-DED-SbED) codes, 2 a method utilizing single b-bit byte error correction (SbEC) codes, and 3 a method employing single b-bit byte error correction--double b-bit byte error detection (SbEC-DbED) codes.
However, in the code systems above, there exist problems to be solved as follows. Namely, although the SEC-DED-SbED code system can be implemented, when the value of b is around four, with check bits of which the number is substantially equal to that of check bits of the SED-DED code system widely used for a memory constituted of one-bit memory elements, the byte error correction cannot be accomplished. The SbEC code system possesses the byte error correcting capability, but it cannot support double bit error detection for detecting two bit errors each from different bytes. Although the SbEC-DbED code system has quite a high error control capability, a large number of check bits are needed.
To solve these problems, a system of single b-bit byte error correction--double bit error detection (SbEC-DED) codes in which a double bit error detecting function is added to the single byte error correcting function has been described in pages 17 to 22 of the Transactions of the IEICE of Japan, Vol. 91, No. 78 and in page 140 of the Proc. 1991, IEEE Int. Symp. on Inform. Theory, June 1991.